broadway: Handle Cairo nodes with NULL surfaces
authorBenjamin Otte <otte@redhat.com>
Wed, 29 May 2019 03:41:53 +0000 (05:41 +0200)
committerBenjamin Otte <otte@redhat.com>
Wed, 29 May 2019 05:14:31 +0000 (07:14 +0200)
gsk/broadway/gskbroadwayrenderer.c

index 662ee649340a5ba95071fb09b5f843fead098bb0..1dbfc9c11c751c12969f2424441a34c98efed5ea 100644 (file)
@@ -506,11 +506,13 @@ gsk_broadway_renderer_add_node (GskRenderer *renderer,
     case GSK_CAIRO_NODE:
       if (add_new_node (renderer, node, BROADWAY_NODE_TEXTURE))
         {
-          cairo_surface_t *surface = (cairo_surface_t *)gsk_cairo_node_peek_surface (node);
+          cairo_surface_t *surface = gsk_cairo_node_peek_surface (node);
           cairo_surface_t *image_surface = NULL;
           GdkTexture *texture;
           guint32 texture_id;
 
+          if (surface == NULL)
+            return;
           if (cairo_surface_get_type (surface) == CAIRO_SURFACE_TYPE_IMAGE)
             image_surface = cairo_surface_reference (surface);
           else